The present invention provides systems and methods for building custom user interfaces for performing searches on a database based on a role of a user and based on custom search definitions. The systems and methods may require a user to be authenticated before performing the search and the search may be conducted on a centralized database. The user interfaces may be created for a common application such as a web browser. The systems and methods may provide for building custom search definitions.
Databases for organizations and other information storage mechanisms often contain vast amounts of information. Each database entry may have hundreds or thousands of fields that may be searched. For example in an employee database of an organization, each employee may have hundreds or thousands of fields, e.g. the employee's start date, birth day, birth month, birth year, organizational unit, salary, home telephone, work telephone, an entry for each annual performance review, etc. However, the users of the database often need to search only a few of the fields to accomplish their tasks. For example, an administrative assistant may need only to search the fields for organizational unit, birth day, and birth month, to create a chart for celebrating birthdays in an organizational unit. As another example, a human resources director may need to search the fields of the employee database for annual performance reviews to create a report for how well employees has been performing over the last several years. As illustrated by these two examples, the users of the database may have different needs for searching the database. Further, the users of the database may wish to customize searches themselves for confidentiality reasons or because they want to immediately perform the search. The database support staff may have to spend much time creating and changing interfaces to support the needs of the organization to search the database.
Databases for organizations are often centralized to avoid the problems of maintaining consistent data for multiple databases for when data is added, changed, or deleted from one of the databases. One problem with a centralized database is that some of the data in the database may need to be kept secure from some users. For example, administrative assistants should not be able to search the employee field for their salary or the employee field for their performance review. The security mechanisms used to secure the database would therefore restrict portions of the centralized database depending on the roles used to access the centralized database.
Another problem with a centralized database is that the users of the database may want to search the database from many locations, such as their home office, their work office, their hotel rooms, etc. However, the tools provided by a centralized database vendor may not provide for accessing the centralized database outside the network where the centralized database resides.
Thus there is a need in the art for systems and methods for creating user interfaces for a common application such as a web browser to access centralized databases of organizations so that the user interfaces are easily accessible from a wide range of platforms. The systems and methods need to enforce the security of the centralized database regarding the roles of different users and need to provide an easy method for creating and changing the interfaces.